package com.cskaoyan.javase.oop3._1interface._5extends;

/**
 * 链式调用
 * 能够进行链式调用的前提是
 *      前面方法的返回值是一个对象
 * 这样就可以继续调用成员方法,从而形成链式调用
 *
 * 优点是代码简洁优雅,而且中间的过程对象都是匿名对象,所以理论上来说更快被回收
 * 缺点过长的链式调用,可读性不好
 *
 * @since 14:51
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Test {
    public static void main(String[] args) {
        // 链式调用
        new Student().getStudent().getTeacher().show();
    }
}

class Student {

    public Student getStudent() {
        return new Student();
    }

    public Teacher getTeacher() {
        return new Teacher();
    }
}

class Teacher {
    public void show() {
        System.out.println("秀一波~~~");
    }
}